package com.cin.cma.client.model.finixx.schedule;

import com.alibaba.fastjson2.annotation.JSONField;
import com.cin.cma.client.model.finixx.Extend;
import com.cin.cma.common.enums.ScheduleStatusEnum;
import com.cin.cma.common.enums.ServiceFeeEnum;
import com.cin.cma.common.enums.ShowTypeEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


@Data
public class Schedule {
    /**
     * 影院编码
     */
    private String cinemaCode;

    /**
     * 影院内码
     */
    private String cinemaLinkId;

    /**
     * 影厅编码
     */
    private String hallCode;

    /**
     * 影厅名称
     */
    private String hallName;

    /**
     * 云场次编码
     */
    private String cloudScheduleCode;

    /**
     * 影院场次编码
     */
    private String clocalScheduleCode;

    /**
     * 排期秘钥
     */
    private String scheduleKey;
    /**
     * 放映计划编码，供上报专资办时使⽤。
     */
    private String sessionCode;

    /**
     * 放映开始时间，格式：yyyy-MM-dd HH:mm:ss
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date showDateTime;

    /**
     * 标准价
     */
    private BigDecimal standardPrice;

    /**
     * 最低票价
     */
    private BigDecimal lowestPrice;

    /**
     * 接口商接口费
     */
    private BigDecimal interfaceServiceFee;
    /**
     * 接口商网络代售费
     */
    private BigDecimal interfaceWebFee;

    /**
     * 服务费 （手续费....）
     */
    private BigDecimal hallServiceFee;

    /**
     * 影院影厅服务费类型：X代表一笔订单，T代表单张票
     */
    private ServiceFeeEnum hallServiceFeeType;

    /**
     * 结算价
     */
    private BigDecimal settlePrice;


    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date stopSellTime;

    /**
     * 状态
     */
    private ScheduleStatusEnum status;

    /**
     * 影片编码
     */
    private String filmCode;

    /**
     * 影片名称
     */
    private String filmName;

    /**
     * 放映类型
     */
    private ShowTypeEnum showType;

    /**
     * 语言
     */
    private String language;

    /**
     * 时长
     */
    private Integer duration;

    /**
     * 特殊费用集合
     */
    private List<AreaFee> areaFeeList;

    /**
     * 扩展信息
     */
    private Extend extendInfo;

}
